home *** CD-ROM | disk | FTP | other *** search
- #include <xpk/xpk.h>
-
- #ifdef __MAXON__
- #define __asm
- #define __saveds
- #endif
-
- ULONG __asm __saveds chunkfunc(register __a1 struct XpkProgress *prog)
- {
- ULONG i;
-
- switch(prog->xp_Type)
- {
- case XPKPROG_START: PutStr("Start: "); break;
- case XPKPROG_MID: PutStr("\rMid : "); break;
- case XPKPROG_END: PutStr("\rEnd : "); break;
- }
-
- if(prog->xp_Type != XPKPROG_END)
- Printf("%4s: %-8s (%3ld%% done, %2ld%% CF, %6ld cps) %s",
- prog->xp_PackerName, prog->xp_Activity, prog->xp_Done,
- prog->xp_CF, prog->xp_Speed, prog->xp_FileName);
- else
- Printf("%4s: %-8s (%3ldK, %2ld%% CF, %6ld cps) %s\033[K\n",
- prog->xp_PackerName, prog->xp_Activity, prog->xp_ULen >> 10,
- prog->xp_CF, prog->xp_Speed, prog->xp_FileName);
-
- Flush(Output());
- if((i = SetSignal(0, SIGBREAKF_CTRL_C) & SIGBREAKF_CTRL_C))
- Printf("\n");
- return i;
- }
-
- struct Hook chunkhook = { {0}, (ULONG (*)()) chunkfunc};
-
-